9093
16826
這個問題已經在這裡有了答案:
反轉Python中的字符串
(29個答案)
4年前關閉。
我正在嘗試反轉一個字符串,並使用下面的代碼,但是生成的反轉列表值為None。
編碼:
str_a ='這很混亂'
rev_word = str_a.split()
rev_word = rev_word.reverse()
rev_word =''.join(rev_word)
它返回TypeError。為什麼? 
.reverse()返回無。因此,您不應將其分配給變量。
使用此代替:
stra ='這是一個字符串'
revword = stra.split()
revword.reverse()
revword =''。join(revword)
我已經為您在IDEOne上運行了代碼,因此您可以看到輸出。 (還請注意,輸出為stringaisThis;您可能要使用''.join(revword)加上空格。)
還要注意,您提供的方法僅使單詞反向,而不使文本反向。 @ ron.rothman提供了一個鏈接,該鏈接詳細說明瞭如何完全反轉字符串。
|
這是我個人最喜歡的反轉字符串的方式:
stra =“這是一個字符串”
revword = stra [::-1]
print(revword)#“發出si sihT
或者,如果您想顛倒單詞順序:
revword =“” .join(stra.split()[::-1])
print(revword)#“字符串是這個”
:)
|
字符串上的各種反轉:
instring ='這是一個字符串'
reversedstring = instring [::-1]
打印反向字符串#提示sihT
wordsreversed =''.join(instring.split()中單詞的word [::-1]
打印文字反序#sihT si gnirts
revwordorder =''.join(instring.split()[::-1]中一個字一個字)
打印revwordorder#字符串a是這
revwordandorder =''.join(instring.split()[::-1]中的單詞為word [::-1])
打印revwordandorder#命令
|
為了將來參考,當對象具有類似[] .reverse()的方法時,它通常對對象執行該操作(即,列表已排序且不返回任何內容,無),而類似於sorted的內置函數則對對象執行操作一個對象並返回一個值(即排序列表)
|
>>> s ='這是一個字符串'
>>> s [::-1]
'sisi siht'
>>>''.join(已反轉)
'sisi siht'
|
for循環從結尾(最後一個字母)到開始(第一個字母)迭代字符串
>>> s ='您也可以嘗試此方法:]'
>>> rev =''
>>>對於範圍內的i(len--1,-1,-1):
... rev + = s [i]
>>>轉
']:您還需要nac uoY'
|
根據評論和其他答案:
str_a ='這是一個字符串'
rev_word =''.join(reversed(str_a.split()))
畢竟,方法鏈接確實可以在Python中工作。
|
反向列表可以使用多種方法來完成。正如前面的答案中提到的,兩個非常突出,一個具有reverse()函數,兩個具有切片功能。我提供了一些我們應該選擇哪一種見解。
我們應該始終使用reverse()函數來反轉Python列表。有兩個原因,一個是原地逆轉,另一個是比其他更快。
我有一些數字可以支持我的回答,
在[15]中:len(l)
出[15]:1000
在[16]中:%timeit -n1 l.reverse()
1個循環,每個循環最好3:7.87 µs
在[17]中:%timeit -n1 l [::-1]
1個循環,最好為3:每個循環10 µs
對於1000個整數列表,與切片相比,reverse()函數的性能更好。
|
不是您要找的答案?瀏覽其他標記為python的問題,或詢問您自己的問題。